home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / ms_dos / gds / source / gds106.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-08  |  1017 b   |  45 lines

  1.  
  2. /*
  3.  *
  4.  *    GDS106 : 部分画面の複写
  5.  *
  6.  */
  7.  
  8. #include <stdio.h>
  9. #include <dos.h>
  10.  
  11. unsigned int GDS_move_block(signed int x1,signed int y1,signed int x2,signed int y2,signed int x3,signed int y3,unsigned char src_page,unsigned char dest_page,unsigned char mode) {
  12.    union  REGS  inregs, outregs;
  13.    struct SREGS segregs;
  14.    static struct {
  15.       unsigned char src_page;
  16.       unsigned char dust1;
  17.       signed int x1;
  18.       signed int y1;
  19.       signed int x2;
  20.       signed int y2;
  21.       unsigned char dest_page;
  22.       unsigned char dust2;
  23.       signed int x3;
  24.       signed int y3;
  25.    } work;
  26.  
  27.    work.src_page=src_page;
  28.    work.dust1=0;
  29.    work.x1=x1;
  30.    work.y1=y1;
  31.    work.x2=x2;
  32.    work.y2=y2;
  33.    work.dest_page=dest_page;
  34.    work.dust1=0;
  35.    work.x3=x3;
  36.    work.y3=y3;
  37.    segread(&segregs);
  38.    segregs.ds=_DS;
  39.    inregs.x.di=(unsigned int)&work;
  40.    inregs.h.ah=0x87;
  41.    inregs.h.al=mode;
  42.    int86x(0x92,&inregs,&outregs,&segregs);
  43.    return (unsigned int)outregs.h.ah;
  44. }
  45.